package Grupo1;
public class Lista {

	private String campo;
	private Lista proximo;

	Lista() {
		campo = "";
		proximo = null;
	}

	public String getCampo() {
		return campo;
	}

	public void setCampo(String campo) {
		this.campo = campo;
	}

	public Lista getProximo() {
		return proximo;
	}

	public void setProximo(Lista proximo) {
		this.proximo = proximo;
	}

	public void adicionar(String campo) {
		Lista aux = new Lista();
		Lista aux2 = new Lista();
		aux.setCampo(campo);

		if (this.getProximo() == null) {
			this.setProximo(aux);
		} else {
			aux2.setProximo(this);
			while (aux2.getProximo() != null) {
				aux2 = aux2.getProximo();
			}
			aux2.setProximo(aux);
		}

	}

	public void ordenar() {
		Lista x = new Lista();
		Lista y = new Lista();
		Lista aux = new Lista();
		
		x = this.getProximo();
		while (x != null) {
			y = x.getProximo();
			while (y != null) {
				if (y.getCampo().compareTo(
						x.getCampo()) < 0) {
					
					aux.setCampo(x.getCampo());
					x.setCampo(y.getCampo());
					y.setCampo(aux.getCampo());
				}
				y = y.getProximo();
			}
			x = x.getProximo();
		}
	}


	public void remover(String campo) {

		Lista aux = new Lista();
		Lista aux2 = new Lista();
		aux = this.getProximo();
		aux2 = this.pesquisarLista(campo);
		while (aux != null) {

			if (aux.getProximo() == aux2) {
				aux.setProximo(aux2.getProximo());
			}
			aux = aux.getProximo();
		}
	}

	public boolean pesquisar(String campo) {
		Lista aux = new Lista();
		aux = this.getProximo();
		while (aux != null) {
			if (aux.getCampo().equalsIgnoreCase(campo)) {
				return true;

			}
			aux = aux.getProximo();

		}
		return false;
	}

	public Lista pesquisarLista(String campo) {
		Lista aux = new Lista();
		aux = this.getProximo();
		while (aux != null) {
			if (aux.getCampo().equalsIgnoreCase(campo)) {
				return aux;
			}
			aux = aux.getProximo();
		}
		return null;
	}

	public String listar() {
		Lista aux = new Lista();
		aux = this.getProximo();
		String result = "";
		
		while (aux != null) {
			result += aux.getCampo() + " ";
			aux = aux.getProximo();
		}
		
		return result;
	}

}